﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;

using Telerik.Web.UI;
using SMA.GENTEv1;

public partial class Protegidos_Pessoas_DadosPessoa__popup_ppAdNacionalidade : System.Web.UI.Page
{
    protected int idPessoa = 0;

    protected void Page_Load(object sender, EventArgs e)
    {
        if ((Session["IdPessoa"] != null))
            idPessoa = int.Parse(Session["IdPessoa"].ToString());

        if (!IsPostBack)
        {
            CarregarNacionalidade(rcbNacionalidade);
        }
    }

    #region Eventos
    protected void btnSalvar_Click(object sender, EventArgs e)
    {
        PessoaNacionalidade nacionalidade = new PessoaNacionalidade();
        nacionalidade.IdPessoa = idPessoa;
        nacionalidade.TipoNacionalidade = new TipoNacionalidade(int.Parse(rcbNacionalidade.SelectedValue.ToString()));

        nacionalidade.Salvar();

        ClientScript.RegisterStartupScript(Page.GetType(), "mykey", "CloseAndRebind('nacionalidade');", true);
    }
    protected void btnLimpar_Click(object sender, EventArgs e)
    {
        Limpar();
    }
    #endregion

    #region Metodos
    private void CarregarNacionalidade(RadComboBox combo)
    {
        try
        {
            PessoaNacionalidade pessoaNac = new PessoaNacionalidade();
            List<PessoaNacionalidade> listPessoaNac = pessoaNac.SelectPorPessoa(idPessoa);

            TipoNacionalidade tipoNacionalidade = new TipoNacionalidade();
            List<TipoNacionalidade> listTipoNac = tipoNacionalidade.SelectAll();

            foreach (PessoaNacionalidade pNac in listPessoaNac)
            {
                foreach (TipoNacionalidade tNac in listTipoNac)
                {
                    if (pNac.IdPessoaNacionalidade == tNac.IdTipoNacionalidade)
                    {
                        listTipoNac.Remove(tNac);
                        break;
                    }
                }
            }

            combo.DataTextField = "Descricao";
            combo.DataValueField = "IdTipoNacionalidade";
            combo.DataSource = listTipoNac;
            combo.DataBind();

            InserirSelecione(combo);
        }
        catch (Exception ex)
        {
            throw ex;
        }
    }
    private void InserirSelecione(RadComboBox combo)
    {
        try
        {
            combo.Items.Insert(0, new RadComboBoxItem(" -- Selecione -- ", "0"));
            combo.SelectedIndex = 0;
        }
        catch (Exception ex)
        {
            throw ex;
        }
    }
    private void Limpar()
    {
        CarregarNacionalidade(rcbNacionalidade);
    }
    #endregion
    
}
